feat(platform): add agentsDefault/projectsDefault to Heartbeat#107
Merged
feat(platform): add agentsDefault/projectsDefault to Heartbeat#107
Conversation
Two optional string fields on Heartbeat so daemons can report their configured install target (agents.default) and discovery root (projects.default) for display on the dashboard machine detail page. Both optional — existing daemons (@agentage/cli < 0.19) keep sending heartbeats unchanged.
Contributor
|
🎉 PR Validation ✅ PASSED Commit: Checks:
Ready to merge! ✨ 🔗 View workflow run |
vreshch
added a commit
to agentage/cli
that referenced
this pull request
Apr 19, 2026
Daemon now reports its configured install target (agents.default) and discovery root (projects.default) to the hub each heartbeat. Hub writes these to agents_default / projects_default columns on machines; the dashboard machine detail page renders them. - hub-client.ts: widen the inline heartbeat body type with two optional string fields. No dep bump — cli carries its own heartbeat shape, doesn't import @agentage/platform.Heartbeat. - hub-sync.ts: loadConfig() already available near the heartbeat path, added agentsDefault + projectsDefault to the payload. - hub-sync.test: fixture assertion updated with the new fields. Pairs with: - agentage/web#148 — Supabase columns + ingest + UI - agentage/agentkit#107 — Heartbeat type (informational; cli doesn't import the platform Heartbeat so this is a follow-up for other consumers)
3 tasks
vreshch
added a commit
to agentage/cli
that referenced
this pull request
Apr 19, 2026
## Summary Last part of the cross-repo config-defaults work. Daemon now reports its configured install target (\`agents.default\`) and discovery root (\`projects.default\`) to the hub each heartbeat. - **\`src/hub/hub-client.ts\`** — widened the inline heartbeat body type with two optional strings. **No \`@agentage/platform\` dep bump** — cli carries its own heartbeat shape locally, doesn't import \`platform.Heartbeat\`. Means this PR is independent of agentage/agentkit#107. - **\`src/hub/hub-sync.ts\`** — \`loadConfig()\` is already called on the heartbeat path; added \`agentsDefault: config.agents.default\` and \`projectsDefault: config.projects.default\` to the payload. - **\`src/hub/hub-sync.test.ts\`** — fixture assertion updated. Pairs with: - agentage/web#148 — Supabase columns + backend ingest + dashboard card - agentage/agentkit#107 — \`Heartbeat\` type (informational; other consumers will pick up) ## Test plan - [x] \`npm run verify\` — 512 tests pass - [ ] After merge + release: upgrade daemon to new version, restart, inspect \`machines.agents_default\` / \`projects_default\` in Supabase - [ ] Manual: dashboard machine detail page shows the two cards populated
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two optional string fields on the
Heartbeatinterface so daemons can report their configured install target (agents.default) and discovery root (projects.default) for display on the dashboard machine detail page.Both optional — existing daemons (
@agentage/cli < 0.19) keep sending heartbeats unchanged. Consumers on the hub side (web backend) will strip unknown fields today via Zod default behaviour; schema update will ship in the web repo PR.Pairs with:
agentsDefault/projectsDefaultfromloadConfig()Test plan
npm run verify— type-check + build clean, all existing tests pass@agentage/platform@0.6.0(minor bump — additive type change) published to npm